import React, { createContext, useContext, useState, useEffect } from 'react';

// 支持的语言
export type Language = 'zh' | 'en' | 'ja' | 'ko' | 'fr' | 'de' | 'es';

// 语言显示信息
export const languages = {
  zh: { name: '中文', nativeName: '中文', flag: '🇨🇳' },
  en: { name: 'English', nativeName: 'English', flag: '🇺🇸' },
  ja: { name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' },
  ko: { name: 'Korean', nativeName: '한국어', flag: '🇰🇷' },
  fr: { name: 'French', nativeName: 'Français', flag: '🇫🇷' },
  de: { name: 'German', nativeName: 'Deutsch', flag: '🇩🇪' },
  es: { name: 'Spanish', nativeName: 'Español', flag: '🇪🇸' }
};

interface LanguageContextType {
  currentLanguage: Language;
  setLanguage: (lang: Language) => void;
  t: (key: string) => string;
}

const LanguageContext = createContext<LanguageContextType | undefined>(undefined);

export function useLanguage() {
  const context = useContext(LanguageContext);
  if (!context) {
    throw new Error('useLanguage must be used within a LanguageProvider');
  }
  return context;
}

// 翻译数据
const translations: Record<Language, Record<string, string>> = {
  zh: {
    // Header
    'header.title': '智能测评中心',
    'header.subtitle': '专业的认知能力评估平台',
    'header.home': '主页',
    'header.completed_tests': '已完成测试',
    'header.average_score': '平均分数',
    'header.ai_win_rate': 'AI胜率',
    'header.current_level': '当前等级',
    'header.streak_days': '天连续',
    
    // Navigation
    'nav.start_tests': '开始测试',
    'nav.ai_battle': 'AI对战',
    'nav.dashboard': '数据面板',
    'nav.achievements': '成就徽章',
    'nav.home': '主页',
    'nav.profile': '个人档案',
    'nav.ai_battle_mode': 'AI对战模式',
    
    // User Profile
    'user.test_user': '测试用户',
    'user.level': '等级',
    'user.current_level': '当前等级',
    
    // Test Titles and Descriptions
    'test.reaction.title': '反应时间测试',
    'test.reaction.description': '测试您的反应速度和注意力',
    'test.typing.title': '打字速度测试',
    'test.typing.description': '测试您的打字速度和准确性',
    'test.memory.title': '记忆力测试',
    'test.memory.description': '测试您的短期记忆能力',
    'test.attention.title': '注意力测试',
    'test.attention.description': '测试您的专注力和观察力',
    'test.coordination.title': '手眼协调测试',
    'test.coordination.description': '测试您的动作协调能力',
    'test.color.title': '颜色识别测试',
    'test.color.description': '测试您的颜色辨识能力',
    'test.math.title': '数学计算测试',
    'test.math.description': '测试您的计算速度和准确性',
    'test.logical.title': '逻辑推理测试',
    'test.logical.description': '测试您的逻辑思维能力',
    'test.visual.title': '视觉感知测试',
    'test.visual.description': '测试您的视觉处理能力',
    'test.working-memory.title': '工作记忆测试',
    'test.working-memory.description': '测试您的工作记忆容量',
    'test.spatial-reasoning.title': '空间推理测试',
    'test.spatial-reasoning.description': '测试您的空间想象和立体思维能力',
    'test.pattern-recognition.title': '模式识别测试',
    'test.pattern-recognition.description': '测试您的规律发现和模式识别能力',
    'test.abstract-reasoning.title': '抽象推理测试',
    'test.abstract-reasoning.description': '测试您的抽象思维和图形推理能力',
    'test.critical-thinking.title': '批判性思维测试',
    'test.critical-thinking.description': '测试您的逻辑分析和推理论证能力',
    'test.creative-thinking.title': '创新思维测试',
    'test.creative-thinking.description': '测试您的发散思维和创意解决问题能力',
    'test.word-association.title': '词汇联想测试',
    'test.word-association.description': '测试您的语言创造力和词汇联想能力',
    'test.audio-memory.title': '音频记忆测试',
    'test.audio-memory.description': '测试您的听觉记忆和音频识别能力',
    'test.sequence-reasoning.title': '序列推理测试',
    'test.sequence-reasoning.description': '测试您的数字和图形序列推理能力',
    'test.emotion-recognition.title': '情绪识别测试',
    'test.emotion-recognition.description': '测试您的面部表情和情绪识别能力',
    'test.multitask.title': '多任务处理测试',
    'test.multitask.description': '测试您同时处理多个任务的执行能力',
    'test.reading-comprehension.title': '阅读理解测试',
    'test.reading-comprehension.description': '测试您的文字理解和信息提取能力',
    'test.cognitive-flexibility.title': '认知灵活性测试',
    'test.cognitive-flexibility.description': '测试您的思维转换和适应能力',
    'test.inhibitory-control.title': '抑制控制测试',
    'test.inhibitory-control.description': '测试您的自控力和注意力控制能力',
    'test.processing-speed.title': '信息处理速度测试',
    'test.processing-speed.description': '测试您快速处理简单信息的能力',
    'test.spatial-memory.title': '空间记忆测试',
    'test.spatial-memory.description': '测试您对位置和空间关系的记忆能力',
    'test.verbal-fluency.title': '语言流利性测试',
    'test.verbal-fluency.description': '测试您的词汇检索和语言产出速度',
    'test.decision-making.title': '决策能力测试',
    'test.decision-making.description': '测试您在不确定情况下的决策质量',
    'test.time-perception.title': '时间感知测试',
    'test.time-perception.description': '测试您对时间流逝的感知准确性',
    'test.digit-memory.title': '数字工作记忆测试',
    'test.digit-memory.description': '测试您对数字序列的记忆和处理能力',
    'test.concept-formation.title': '概念形成测试',
    'test.concept-formation.description': '测试您的抽象概念学习和规则发现能力',
    
    // Test Categories
    'category.cognitive': '认知能力',
    'category.academic': '学术技能',
    'category.perceptual': '感知能力',
    'category.logical': '逻辑推理',
    'category.creative': '创新思维',
    'category.language': '语言能力',
    'category.memory': '记忆系统',
    'category.social': '社交情商',
    'category.executive': '执行功能',
    'category.processing': '信息处理',
    'category.decision': '决策推理',
    'category.perception': '感知能力',
    
    // Test Difficulties
    'difficulty.easy': '简单',
    'difficulty.medium': '中等',
    'difficulty.hard': '困难',
    
    // Common Actions
    'action.start': '开始',
    'action.continue': '继续',
    'action.retry': '重试',
    'action.back': '返回',
    'action.next': '下一个',
    'action.finish': '完成',
    'action.exit': '退出',
    'action.save': '保存',
    'action.cancel': '取消',
    'action.confirm': '确认',
    
    // Sidebar
    'sidebar.user_stats': '您的统计',
    'sidebar.latest_achievements': '最新成就',
    'sidebar.level': '等级',
    'sidebar.tests_completed': '测试完成',
    'sidebar.average_score': '平均分',
    'sidebar.streak_days': '连续天数',
    
    // Recommended Tests
    'section.recommended_tests': '推荐测试',
    'section.recommended_description': '基于你的测试历史为你推荐的测试项目',
    
    // Test Status
    'status.completed': '已完成',
    'status.not_started': '未开始',
    'status.in_progress': '进行中',
    
    // Language Selector
    'language.select': '选择语言',
    'language.current': '当前语言',
    
    // Common
    'common.minutes': '分钟',
    'common.seconds': '秒',
    'common.score': '分数',
    'common.time': '时间',
    'common.duration': '时长',
  },
  en: {
    // Header
    'header.title': 'Cognitive Assessment Center',
    'header.subtitle': 'Professional Cognitive Ability Assessment Platform',
    'header.home': 'Home',
    'header.completed_tests': 'Completed Tests',
    'header.average_score': 'Average Score',
    'header.ai_win_rate': 'AI Win Rate',
    'header.current_level': 'Current Level',
    'header.streak_days': 'Day Streak',
    
    // Navigation
    'nav.start_tests': 'Start Tests',
    'nav.ai_battle': 'AI Battle',
    'nav.dashboard': 'Dashboard',
    'nav.achievements': 'Achievements',
    'nav.home': 'Home',
    'nav.profile': 'Profile',
    'nav.ai_battle_mode': 'AI Battle Mode',
    
    // User Profile
    'user.test_user': 'Test User',
    'user.level': 'Level',
    'user.current_level': 'Current Level',
    
    // Test Categories
    'category.reaction_speed': 'Reaction Speed',
    'category.attention_memory': 'Attention & Memory',
    'category.logical_reasoning': 'Logical Reasoning',
    'category.creative_thinking': 'Creative Thinking',
    'category.language_ability': 'Language Ability',
    'category.math_ability': 'Mathematical Ability',
    'category.perception_ability': 'Perception Ability',
    'category.social_eq': 'Social EQ',
    'category.executive_function': 'Executive Function',
    'category.comprehensive_ability': 'Comprehensive Ability',
    
    // Test Difficulties
    'difficulty.easy': 'Easy',
    'difficulty.medium': 'Medium',
    'difficulty.hard': 'Hard',
    
    // Common Actions
    'action.start': 'Start',
    'action.continue': 'Continue',
    'action.retry': 'Retry',
    'action.back': 'Back',
    'action.next': 'Next',
    'action.finish': 'Finish',
    'action.exit': 'Exit',
    'action.save': 'Save',
    'action.cancel': 'Cancel',
    'action.confirm': 'Confirm',
    
    // Sidebar
    'sidebar.user_stats': 'Your Stats',
    'sidebar.latest_achievements': 'Latest Achievements',
    'sidebar.level': 'Level',
    'sidebar.tests_completed': 'Tests Completed',
    'sidebar.average_score': 'Average Score',
    'sidebar.streak_days': 'Streak Days',
    
    // Recommended Tests
    'section.recommended_tests': 'Recommended Tests',
    'section.recommended_description': 'Tests recommended based on your testing history',
    
    // Test Status
    'status.completed': 'Completed',
    'status.not_started': 'Not Started',
    'status.in_progress': 'In Progress',
    
    // Language Selector
    'language.select': 'Select Language',
    'language.current': 'Current Language',
    
    // Common
    'common.minutes': 'minutes',
    'common.seconds': 'seconds',
    'common.score': 'Score',
    'common.time': 'Time',
    'common.duration': 'Duration',
  },
  ja: {
    // Header
    'header.title': '認知能力評価センター',
    'header.subtitle': 'プロフェッショナル認知能力評価プラットフォーム',
    'header.home': 'ホーム',
    'header.completed_tests': '完了テスト',
    'header.average_score': '平均スコア',
    'header.ai_win_rate': 'AI勝率',
    'header.current_level': '現在のレベル',
    'header.streak_days': '日連続',
    
    // Navigation
    'nav.start_tests': 'テスト開始',
    'nav.ai_battle': 'AIバトル',
    'nav.dashboard': 'ダッシュボード',
    'nav.achievements': '実績',
    'nav.home': 'ホーム',
    'nav.profile': 'プロフィール',
    'nav.ai_battle_mode': 'AIバトルモード',
    
    // User Profile
    'user.test_user': 'テストユーザー',
    'user.level': 'レベル',
    'user.current_level': '現在のレベル',
    
    // Test Categories
    'category.reaction_speed': '反応速度',
    'category.attention_memory': '注意・記憶',
    'category.logical_reasoning': '論理的推理',
    'category.creative_thinking': '創造的思考',
    'category.language_ability': '言語能力',
    'category.math_ability': '数学能力',
    'category.perception_ability': '知覚能力',
    'category.social_eq': '社会的EQ',
    'category.executive_function': '実行機能',
    'category.comprehensive_ability': '総合能力',
    
    // Test Difficulties
    'difficulty.easy': '簡単',
    'difficulty.medium': '普通',
    'difficulty.hard': '難しい',
    
    // Common Actions
    'action.start': '開始',
    'action.continue': '続行',
    'action.retry': '再試行',
    'action.back': '戻る',
    'action.next': '次へ',
    'action.finish': '完了',
    'action.exit': '終了',
    'action.save': '保存',
    'action.cancel': 'キャンセル',
    'action.confirm': '確認',
    
    // Sidebar
    'sidebar.user_stats': 'あなたの統計',
    'sidebar.latest_achievements': '最新の実績',
    'sidebar.level': 'レベル',
    'sidebar.tests_completed': 'テスト完了',
    'sidebar.average_score': '平均スコア',
    'sidebar.streak_days': '連続日数',
    
    // Recommended Tests
    'section.recommended_tests': '推奨テスト',
    'section.recommended_description': 'テスト履歴に基づいて推奨されるテスト',
    
    // Test Status
    'status.completed': '完了',
    'status.not_started': '未開始',
    'status.in_progress': '進行中',
    
    // Language Selector
    'language.select': '言語を選択',
    'language.current': '現在の言語',
    
    // Common
    'common.minutes': '分',
    'common.seconds': '秒',
    'common.score': 'スコア',
    'common.time': '時間',
    'common.duration': '時間',
  },
  ko: {
    // Header
    'header.title': '인지 평가 센터',
    'header.subtitle': '전문 인지 능력 평가 플랫폼',
    'header.home': '홈',
    'header.completed_tests': '완료된 테스트',
    'header.average_score': '평균 점수',
    'header.ai_win_rate': 'AI 승률',
    'header.current_level': '현재 레벨',
    'header.streak_days': '일 연속',
    
    // Navigation
    'nav.start_tests': '테스트 시작',
    'nav.ai_battle': 'AI 대전',
    'nav.dashboard': '대시보드',
    'nav.achievements': '성취',
    'nav.home': '홈',
    'nav.profile': '프로필',
    'nav.ai_battle_mode': 'AI 대전 모드',
    
    // User Profile
    'user.test_user': '테스트 사용자',
    'user.level': '레벨',
    'user.current_level': '현재 레벨',
    
    // Test Categories
    'category.reaction_speed': '반응 속도',
    'category.attention_memory': '주의력 & 기억력',
    'category.logical_reasoning': '논리적 추론',
    'category.creative_thinking': '창의적 사고',
    'category.language_ability': '언어 능력',
    'category.math_ability': '수학 능력',
    'category.perception_ability': '지각 능력',
    'category.social_eq': '사회적 EQ',
    'category.executive_function': '실행 기능',
    'category.comprehensive_ability': '종합 능력',
    
    // Test Difficulties
    'difficulty.easy': '쉬움',
    'difficulty.medium': '보통',
    'difficulty.hard': '어려움',
    
    // Common Actions
    'action.start': '시작',
    'action.continue': '계속',
    'action.retry': '재시도',
    'action.back': '뒤로',
    'action.next': '다음',
    'action.finish': '완료',
    'action.exit': '종료',
    'action.save': '저장',
    'action.cancel': '취소',
    'action.confirm': '확인',
    
    // Sidebar
    'sidebar.user_stats': '당신의 통계',
    'sidebar.latest_achievements': '최신 성취',
    'sidebar.level': '레벨',
    'sidebar.tests_completed': '테스트 완료',
    'sidebar.average_score': '평균 점수',
    'sidebar.streak_days': '연속 일수',
    
    // Recommended Tests
    'section.recommended_tests': '추천 테스트',
    'section.recommended_description': '테스트 기록을 기반으로 추천하는 테스트',
    
    // Test Status
    'status.completed': '완료',
    'status.not_started': '시작 안됨',
    'status.in_progress': '진행 중',
    
    // Language Selector
    'language.select': '언어 선택',
    'language.current': '현재 언어',
    
    // Common
    'common.minutes': '분',
    'common.seconds': '초',
    'common.score': '점수',
    'common.time': '시간',
    'common.duration': '소요 시간',
  },
  fr: {
    // Header
    'header.title': 'Centre d\'Évaluation Cognitive',
    'header.subtitle': 'Plateforme Professionnelle d\'Évaluation des Capacités Cognitives',
    'header.home': 'Accueil',
    'header.completed_tests': 'Tests Complétés',
    'header.average_score': 'Score Moyen',
    'header.ai_win_rate': 'Taux de Victoire IA',
    'header.current_level': 'Niveau Actuel',
    'header.streak_days': 'Jours Consécutifs',
    
    // Navigation
    'nav.start_tests': 'Commencer les Tests',
    'nav.ai_battle': 'Combat IA',
    'nav.dashboard': 'Tableau de Bord',
    'nav.achievements': 'Succès',
    'nav.home': 'Accueil',
    'nav.profile': 'Profil',
    'nav.ai_battle_mode': 'Mode Combat IA',
    
    // User Profile
    'user.test_user': 'Utilisateur Test',
    'user.level': 'Niveau',
    'user.current_level': 'Niveau Actuel',
    
    // Test Categories
    'category.reaction_speed': 'Vitesse de Réaction',
    'category.attention_memory': 'Attention & Mémoire',
    'category.logical_reasoning': 'Raisonnement Logique',
    'category.creative_thinking': 'Pensée Créative',
    'category.language_ability': 'Capacité Linguistique',
    'category.math_ability': 'Capacité Mathématique',
    'category.perception_ability': 'Capacité de Perception',
    'category.social_eq': 'QE Social',
    'category.executive_function': 'Fonction Exécutive',
    'category.comprehensive_ability': 'Capacité Globale',
    
    // Test Difficulties
    'difficulty.easy': 'Facile',
    'difficulty.medium': 'Moyen',
    'difficulty.hard': 'Difficile',
    
    // Common Actions
    'action.start': 'Commencer',
    'action.continue': 'Continuer',
    'action.retry': 'Réessayer',
    'action.back': 'Retour',
    'action.next': 'Suivant',
    'action.finish': 'Terminer',
    'action.exit': 'Quitter',
    'action.save': 'Sauvegarder',
    'action.cancel': 'Annuler',
    'action.confirm': 'Confirmer',
    
    // Sidebar
    'sidebar.user_stats': 'Vos Statistiques',
    'sidebar.latest_achievements': 'Derniers Succès',
    'sidebar.level': 'Niveau',
    'sidebar.tests_completed': 'Tests Complétés',
    'sidebar.average_score': 'Score Moyen',
    'sidebar.streak_days': 'Jours Consécutifs',
    
    // Recommended Tests
    'section.recommended_tests': 'Tests Recommandés',
    'section.recommended_description': 'Tests recommandés basés sur votre historique',
    
    // Test Status
    'status.completed': 'Complété',
    'status.not_started': 'Non Commencé',
    'status.in_progress': 'En Cours',
    
    // Language Selector
    'language.select': 'Sélectionner la Langue',
    'language.current': 'Langue Actuelle',
    
    // Common
    'common.minutes': 'minutes',
    'common.seconds': 'secondes',
    'common.score': 'Score',
    'common.time': 'Temps',
    'common.duration': 'Durée',
  },
  de: {
    // Header
    'header.title': 'Kognitive Bewertungszentrum',
    'header.subtitle': 'Professionelle Plattform zur Bewertung kognitiver Fähigkeiten',
    'header.home': 'Startseite',
    'header.completed_tests': 'Abgeschlossene Tests',
    'header.average_score': 'Durchschnittspunktzahl',
    'header.ai_win_rate': 'KI-Siegrate',
    'header.current_level': 'Aktuelles Level',
    'header.streak_days': 'Tage in Folge',
    
    // Navigation
    'nav.start_tests': 'Tests Starten',
    'nav.ai_battle': 'KI-Kampf',
    'nav.dashboard': 'Dashboard',
    'nav.achievements': 'Erfolge',
    'nav.home': 'Startseite',
    'nav.profile': 'Profil',
    'nav.ai_battle_mode': 'KI-Kampf Modus',
    
    // User Profile
    'user.test_user': 'Test Benutzer',
    'user.level': 'Level',
    'user.current_level': 'Aktuelles Level',
    
    // Test Categories
    'category.reaction_speed': 'Reaktionsgeschwindigkeit',
    'category.attention_memory': 'Aufmerksamkeit & Gedächtnis',
    'category.logical_reasoning': 'Logisches Denken',
    'category.creative_thinking': 'Kreatives Denken',
    'category.language_ability': 'Sprachfähigkeit',
    'category.math_ability': 'Mathematische Fähigkeit',
    'category.perception_ability': 'Wahrnehmungsfähigkeit',
    'category.social_eq': 'Soziale EQ',
    'category.executive_function': 'Exekutivfunktion',
    'category.comprehensive_ability': 'Umfassende Fähigkeit',
    
    // Test Difficulties
    'difficulty.easy': 'Einfach',
    'difficulty.medium': 'Mittel',
    'difficulty.hard': 'Schwer',
    
    // Common Actions
    'action.start': 'Starten',
    'action.continue': 'Weiter',
    'action.retry': 'Wiederholen',
    'action.back': 'Zurück',
    'action.next': 'Weiter',
    'action.finish': 'Fertig',
    'action.exit': 'Beenden',
    'action.save': 'Speichern',
    'action.cancel': 'Abbrechen',
    'action.confirm': 'Bestätigen',
    
    // Sidebar
    'sidebar.user_stats': 'Ihre Statistiken',
    'sidebar.latest_achievements': 'Neueste Erfolge',
    'sidebar.level': 'Level',
    'sidebar.tests_completed': 'Tests Abgeschlossen',
    'sidebar.average_score': 'Durchschnittspunktzahl',
    'sidebar.streak_days': 'Aufeinanderfolgende Tage',
    
    // Recommended Tests
    'section.recommended_tests': 'Empfohlene Tests',
    'section.recommended_description': 'Tests basierend auf Ihrer Testhistorie empfohlen',
    
    // Test Status
    'status.completed': 'Abgeschlossen',
    'status.not_started': 'Nicht Begonnen',
    'status.in_progress': 'In Bearbeitung',
    
    // Language Selector
    'language.select': 'Sprache Auswählen',
    'language.current': 'Aktuelle Sprache',
    
    // Common
    'common.minutes': 'Minuten',
    'common.seconds': 'Sekunden',
    'common.score': 'Punkte',
    'common.time': 'Zeit',
    'common.duration': 'Dauer',
  },
  es: {
    // Header
    'header.title': 'Centro de Evaluación Cognitiva',
    'header.subtitle': 'Plataforma Profesional de Evaluación de Habilidades Cognitivas',
    'header.home': 'Inicio',
    'header.completed_tests': 'Pruebas Completadas',
    'header.average_score': 'Puntuación Promedio',
    'header.ai_win_rate': 'Tasa de Victoria IA',
    'header.current_level': 'Nivel Actual',
    'header.streak_days': 'Días Consecutivos',
    
    // Navigation
    'nav.start_tests': 'Iniciar Pruebas',
    'nav.ai_battle': 'Batalla IA',
    'nav.dashboard': 'Panel de Control',
    'nav.achievements': 'Logros',
    'nav.home': 'Inicio',
    'nav.profile': 'Perfil',
    'nav.ai_battle_mode': 'Modo Batalla IA',
    
    // User Profile
    'user.test_user': 'Usuario de Prueba',
    'user.level': 'Nivel',
    'user.current_level': 'Nivel Actual',
    
    // Test Categories
    'category.reaction_speed': 'Velocidad de Reacción',
    'category.attention_memory': 'Atención y Memoria',
    'category.logical_reasoning': 'Razonamiento Lógico',
    'category.creative_thinking': 'Pensamiento Creativo',
    'category.language_ability': 'Habilidad Lingüística',
    'category.math_ability': 'Habilidad Matemática',
    'category.perception_ability': 'Habilidad Perceptiva',
    'category.social_eq': 'CE Social',
    'category.executive_function': 'Función Ejecutiva',
    'category.comprehensive_ability': 'Habilidad Integral',
    
    // Test Difficulties
    'difficulty.easy': 'Fácil',
    'difficulty.medium': 'Medio',
    'difficulty.hard': 'Difícil',
    
    // Common Actions
    'action.start': 'Comenzar',
    'action.continue': 'Continuar',
    'action.retry': 'Reintentar',
    'action.back': 'Volver',
    'action.next': 'Siguiente',
    'action.finish': 'Finalizar',
    'action.exit': 'Salir',
    'action.save': 'Guardar',
    'action.cancel': 'Cancelar',
    'action.confirm': 'Confirmar',
    
    // Sidebar
    'sidebar.user_stats': 'Tus Estadísticas',
    'sidebar.latest_achievements': 'Últimos Logros',
    'sidebar.level': 'Nivel',
    'sidebar.tests_completed': 'Pruebas Completadas',
    'sidebar.average_score': 'Puntuación Promedio',
    'sidebar.streak_days': 'Días Consecutivos',
    
    // Recommended Tests
    'section.recommended_tests': 'Pruebas Recomendadas',
    'section.recommended_description': 'Pruebas recomendadas basadas en tu historial',
    
    // Test Status
    'status.completed': 'Completado',
    'status.not_started': 'No Iniciado',
    'status.in_progress': 'En Progreso',
    
    // Language Selector
    'language.select': 'Seleccionar Idioma',
    'language.current': 'Idioma Actual',
    
    // Common
    'common.minutes': 'minutos',
    'common.seconds': 'segundos',
    'common.score': 'Puntuación',
    'common.time': 'Tiempo',
    'common.duration': 'Duración',
  }
};

interface LanguageProviderProps {
  children: React.ReactNode;
}

export function LanguageProvider({ children }: LanguageProviderProps) {
  const [currentLanguage, setCurrentLanguage] = useState<Language>(() => {
    // 尝试从 localStorage 获取保存的语言
    const saved = localStorage.getItem('preferred-language') as Language;
    if (saved && saved in translations) {
      return saved;
    }
    
    // 根据浏览器语言自动检测
    const browserLang = navigator.language.toLowerCase();
    if (browserLang.startsWith('zh')) return 'zh';
    if (browserLang.startsWith('ja')) return 'ja';
    if (browserLang.startsWith('ko')) return 'ko';
    if (browserLang.startsWith('fr')) return 'fr';
    if (browserLang.startsWith('de')) return 'de';
    if (browserLang.startsWith('es')) return 'es';
    if (browserLang.startsWith('en')) return 'en';
    
    // 默认中文
    return 'zh';
  });

  const setLanguage = (lang: Language) => {
    setCurrentLanguage(lang);
    localStorage.setItem('preferred-language', lang);
  };

  const t = (key: string): string => {
    return translations[currentLanguage]?.[key] || key;
  };

  // 监听语言变化，更新文档语言属性
  useEffect(() => {
    document.documentElement.lang = currentLanguage;
  }, [currentLanguage]);

  return (
    <LanguageContext.Provider value={{ currentLanguage, setLanguage, t }}>
      {children}
    </LanguageContext.Provider>
  );
}